/*
 * Copyright 2008-2023 dexian.vip. All rights reserved.
 * Support: http://www.dexian.vip
 * License: http://www.dexian.vip/license
 */

package vip.dexian.core.base.validation;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 使用方式：在需要校验的字段上增加@Mobile，即可完成对手机号码的校验，具体的校验实现请看{@link MobileValidator}
 *
 * @author 挺好的 2023年05月30日 10:36
 */
@Target (ElementType.FIELD)
@Retention (RetentionPolicy.RUNTIME)
@Documented
@Constraint (validatedBy = {MobileValidator.class})
public @interface Mobile {

    /**
     * 是否是必填，默认为true
     *
     * @return 是否是必填。
     */
    boolean required () default true;

    /**
     * 错误消息
     *
     * @return 错误消息
     */
    String message () default "手机号码格式不正确";

    Class <?>[] groups () default {};

    Class <? extends Payload>[] payload () default {};
}
